﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EnvDTE;
using EnvDTE80;

namespace SinacorRules
{
    public sealed class Rule_MethodNamesMustBeOnInfinitive : BaseAddIn.Rules.BaseRuleAddIn
    {
        public Rule_MethodNamesMustBeOnInfinitive()
            : base("BovespaMethodNamesMustBeOnInfinitiv", 
                   "SinacorRules.SinacorRules",
                   typeof(Rule_MethodNamesMustBeOnInfinitive).Assembly)
        {
        }

        protected sealed override void Check(CodeFunction funcao, CodeNamespace namespaceElement, CodeClass2 classe)
        {
			//string nome = funcao.Name;
			//bool erro = false;

			//if (funcao.FunctionKind == vsCMFunction.vsCMFunctionFunction)
			//{
			//    erro = true;

			//    //Pula o primeiro char do nome
			//    for (int i = 1; i < nome.Length; i++)
			//    {
			//        if (Char.IsUpper(nome, i)
			//            && nome.ToLower()[i - 1] == 'r')
			//        {
			//            erro = false;
			//            break;
			//        }
			//    }

			//    if (erro)
			//    {
			//        GeraProblemaAddIn(funcao.StartPoint.Parent.Parent.FullName,
			//                          funcao.StartPoint.Line,
			//                          funcao.StartPoint.DisplayColumn,
			//                          "MethodNamesMustBeOnInfinitivResolution",
			//                          classe.Name,
			//                          funcao.Name,
			//                          namespaceElement.Name);
			//    }
			//}
        }
    }
}
